/**
 * 智能体 - 包含对话（或者叫渠道）、助手和数字员工的通用概念
 * ('const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment or type query.)
 * [https://github.com/microsoft/TypeScript/issues/33060#issuecomment-644422859]
 */

/**
 * 菜单设置
 */
export enum IASettingKeyEnum {
  '外观设置' = 'AppearanceSettings',
  '知识配置' = 'KnowledgeSettings',
  '拓展配置' = 'PluginSettings',
  '模型配置' = 'ModelSettings',
  '策略配置' = 'StrategySettings',
  '个性推荐' = 'PersonalizedRecommendations',
  '用户配置' = 'UserSettings',
  '接入配置' = 'EmbeddingSettings',
};

export enum IASettingNameEnum {
  '外观设置' = '外观设置',
  '知识配置' = '知识配置',
  '拓展配置' = '拓展配置',
  '模型配置' = '模型配置',
  '策略配置' = '策略配置',
  '个性推荐' = '个性推荐',
  '用户配置' = '用户配置',
  '接入配置' = '接入配置',
};

export enum IASubSettingKeyEnum {
  '交互外观' = 'InteractionAppearance',
  '嵌入外观' = 'EmbeddingAppearance',
  '我的知识库' = 'MyKnowledgeBase',
  '文档库' = 'DocumentLibrary',
  '助手' = 'GeneralAssistant',
  '智能体' = 'IntelligentAgent',
  '指令' = 'Instruction',
  '交互策略' = 'InteractionStrategy',
  '大模型策略' = 'ModelStrategy',
  '搜索策略' = 'SearchStrategy',
  '知识策略' = 'KnowledgeStrategy',
  '联网策略' = 'NetworkingStrategy',
  '兜底策略' = 'BottomLineStrategy',
  '欢迎语' = 'WelcomMessage',
  '热点问题' = 'HotspotQuestions',
  '快捷入口' = 'QuickEntrance',
  '底部标签' = 'BottomLabel',
}

export enum IASubSettingNameEnum {
  '交互外观' = '交互外观',
  '嵌入外观' = '嵌入外观',
  '我的知识库' = '我的知识库',
  '文档库' = '文档库',
  '助手' = '助手',
  '智能体' = '智能体',
  '指令' = '指令',
  '交互策略' = '交互策略',
  '大模型策略' = '大模型策略',
  '搜索策略' = '搜索策略',
  '知识策略' = '知识策略',
  '联网策略' = '联网策略',
  '兜底策略' = '兜底策略',
  '欢迎语' = '欢迎语',
  '热点问题' = '热点问题',
  '快捷入口' = '快捷入口',
  '底部标签' = '底部标签',
}

export const IASettings = [
  {
    name: '外观设置',
    key: 'AppearanceSettings',
    subSettings: [
      {
        name: '交互外观',
        key: 'UIAppearance',
      },
      {
        name: '嵌入外观',
        key: 'EmbeddingAppearance',
      },
    ],
  },
  {
    name: '知识配置',
    key: 'KnowledgeSettings',
    subSettings: [],
  },
  {
    name: '拓展配置',
    key: 'PluginSettings',
    subSettings: [],
  },
  {
    name: '模型配置',
    key: 'ModelSettings',
    subSettings: [],
  },
  {
    name: '策略配置',
    key: 'StrategySettings',
    subSettings: [],
  },
  {
    name: '个性推荐',
    key: 'PersonalizedRecommendations',
    subSettings: [],
  },
  {
    name: '用户配置',
    key: 'UserSettings',
    subSettings: [],
  },
  {
    name: '接入配置',
    key: 'EmbeddingSettings',
    subSettings: [],
  },
];

/**
 * 分类
 */
export enum IACategoryKeyEnum {
  '全部' = 'All',
  '供应商分享' = 'Admin',
};

export enum IACategoryNameEnum {
  'All' = '全部',
  'Admin' = '供应商分享',
};

const IntelligentAgentConstants = {
  IASettingKeyEnum,
  IASettingNameEnum,
  IASubSettingKeyEnum,
  IASubSettingNameEnum,
  IASettings,
  IACategoryKeyEnum,
  IACategoryNameEnum,
};

export default IntelligentAgentConstants;
